perm filename PUBMAC.PUB[VLI,LSP] blob
sn#379950 filedate 1978-09-08 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 .<< PUB DECLARATIONS >>
C00011 00003 .<< TITLE PAGE >> BLANK PAGE
C00013 ENDMK
C⊗;
.<< PUB DECLARATIONS >>
.DEVICE TTY;
.PUBLISH←FALSE; << set to TRUE to get different headings for even/odd pages >>
.REALTTY←TRUE; << set to TRUE to get finite height pages >>
.SECPAGE ← (¬XCRIBL) ∧ (¬REALTTY); << each subsection starts a new page >>
.
.<< THESE ARE LEFT ON/OFF OVER THE WHOLE MANUSCRIPT FOR CONVENIENCE! >>
.TURN ON "{#%α"
.TURN OFF "-" << Too many minus signs would be mistaken for hyphens. >>
.
.
.
. FONT 6 "SHD40"
. FONT 5 "BASB30" << BOLD FONT FOR HEADINGS/TITLES >>
. FONT 4 "FIX20" << SOME EXAMPLES: SMALL FIXED WIDTH FONT >>
. FONT 3 "FIX25" << PREFORMATTED STUFF: FIXED WIDTH FONT >>
. FONT 2 "BASI30" << ITALICS (UNDERLINED WORDS) >>
. FONT 1 "BASL30" << NORMAL FONT: VARIABLE WIDTH >>
.
.IF XCRIBL THEN START
.
. !XGPLFTMAR ← 216;
. AT "⊗∪" STUFF "∩" ⊂
%2{}STUFF{}%*{ ⊃
.AT "ffi" ⊂ IF THISFONT ≤ 2 OR THISFONT = 5 THEN "}" ELSE "fαfαi" ⊃;
.AT "ffl" ⊂ IF THISFONT ≤ 2 OR THISFONT = 5 THEN "∞" ELSE "fαfαl" ⊃;
.AT "ff" ⊂ IF THISFONT ≤ 2 OR THISFONT = 5 THEN "≥" ELSE "fαf" ⊃;
.AT "fi" ⊂ IF THISFONT ≤ 2 OR THISFONT = 5 THEN "≡" ELSE "fαi" ⊃;
.AT "fl" ⊂ IF THISFONT ≤ 2 OR THISFONT = 5 THEN "∨" ELSE "fαl" ⊃;
.AT "--" ⊂ IF THISFONT ≤ 2 OR THISFONT = 5 THEN "¬" ELSE "-α-" ⊃;
.LN←4; RN←4; << Tables in the manual are NARROW LN,RN; >>
. END
.
. ELSE START
. AT "⊗∪" STUFF "∩" ⊂
.STU←↑"STUFF";
{STU}{ ⊃
.LN←4; RN←4;
. END;
.
.
.HLINES← IF XCRIBL THEN 55 ELSE
. IF REALTTY THEN 58 ELSE 999; << NUMBER OF LINES/PAGE >>
.WCHARS← IF XCRIBL THEN 81 ELSE 69; << NUMBER OF CHARS/LINE >>
.PAGE FRAME HLINES HIGH WCHARS WIDE;
.TITLE AREA HEADING LINES 1 TO 3 CHARS 1 TO WCHARS;
.IF REALTTY THEN START
. BOTLINE ← HLINES-1;
. TITLE AREA FOOTING LINE HLINES CHARS 1 TO WCHARS;
. EVERY FOOTING (##);
. <<The footing is simply to make sure we space down far enough!>>
.END ELSE START
. BOTLINE ← HLINES;
.END
.AREA TEXTER LINES 4 TO BOTLINE CHARS 1 TO WCHARS;
.PLACE TEXTER;
.VARIABLE SECNAME, SSNAME, SSNUMBER;
.<< COUNT PAGE TO 999; this is now done in TITLE.PUB >>
.COUNT SECTION;
.COUNT SUBSECTION IN SECTION PRINTING "!.1";
.COUNT APPENDIX;
.MACRO SEC(NAME,ABBREV,PHRASE,LABEL) ⊂
. SSNAME ← SECNAME ← IF "ABBREV" neq NULL THEN "ABBREV" ELSE "NAME";
. SSNUMBER ← (SECTION+1)&"."
.SKIP TO COLUMN 1; IF XCRIBL AND EVEN PAGE THEN NEXT PAGE; LABEL NEXT SECTION!;
. BEGIN
. CENTER
%5SECTION {!}
. SKIP
.NAM←↑"NAME";
{NAM}%*
. SKIP 3;
. CAT("PHRASE","NAME");
. SEND CONTENTS ⊂ SKIP 2;
∂4{SECTION!}∂8{NAM}→{PAGE!}{SKIP;⊃
. END ⊃
.MACRO SS(NAME,PHRASE,LABEL) ⊂
. SSNUMBER←SECTION!&"."&(SUBSECTION+1);
. SSNAME←"NAME";
. IF LINES≤9 OR SECPAGE THEN SKIP TO COLUMN 1;
. LABEL NEXT SUBSECTION!;
. BEGIN
. SKIP 3
. CAT("PHRASE","NAME");
.IF XCRIBL THEN SEND CONTENTS ⊂
∂(13){!}∂(19)NAME\∞∀∂(WCHARS-2)→{PAGE!}
. ⊃
.ELSE SEND CONTENTS ⊂
∂(13){!}∂(19)NAME\∞ ∞.∞ →{PAGE!}
. ⊃;
. CENTER
%5{!}##NAME%*{ SKIP;
. END ⊃
.MACRO SSP(NAME,PHRASE,LABEL) ⊂
. SKIP TO COLUMN 1
.SS("NAME","PHRASE","LABEL") ⊃
.MACRO CAT(PHRASE,NAME) ⊂IF "PHRASE" neq NULL THEN SEND INDEX ⊂}<{PAGE}≤PHRASE≥{⊃ ⊃
.MACRO REFREF(A,B) ⊂ SEND INDEX ⊂}<⊗∪see∩ B≤A≥{⊃ ⊃
.MACRO SPECIALREF(A,B) ⊂ SEND INDEX ⊂}<⊗∪see B∩≤A≥{⊃ ⊃
.AT "⊗→" SPECIFIC "↔" GENERIC "←" ⊂
.IF "GENERIC" neq NULL THEN
. START SEND INDEX ⊂}<{PAGE}≤GENERIC, SPECIFIC≥{⊃; "SPECIFIC GENERIC"; END
.ELSE START SEND INDEX ⊂}<{PAGE}≤SPECIFIC≥{⊃; "SPECIFIC"; END ⊃
.RECURSIVE MACRO STANDARD BACK ⊂
. IF (PUBLISH AND XCRIBL) THEN START
. ODD HEADING(,,%5{SSNAME} {PAGE}%*);
. EVEN HEADING(%5{PAGE} {SECNAME}%*,,);
. END ELSE EVERY HEADING(,,%5{SSNAME} {PAGE}%*);
.SSNAME ← "INDEX"; SECNAME ← SSNUMBER ← NULL
. BEGIN FILL NOJUST INDENT 0,3; PREFACE 0;
. AREA TEXTER LINES 4 TO BOTLINE IN 2 COLUMNS 3 APART;
. PORTION INDEX;
. IF XCRIBL AND EVEN PAGE THEN NEXT PAGE;
. PLACE TEXTER;
. SECNAME ← "INDEX";
. WASWORD ← WASPG ← NULL ;
. AT "<" PGNO "≤" PHRASE "≥" ⊂
. IF "PHRASE" neq WASWORD THEN START BREAK }PHRASE PGNO{ END
. ELSE IF "PGNO" neq WASPG THEN }, PGNO{ ;
. WASPG ← "PGNO" ; WASWORD ← "PHRASE" ; ⊃
%5INDEX%1
.SKIP
. RECEIVE "≤≥"
. END;
.SECNAME ← SSNAME ← NULL
.SSNUMBER ← NULL
.<<IF XCRIBL ∨ REALTTY THEN COUNT PAGE FROM 2 PRINTING "i" ELSE>>
. COUNT PAGE PRINTING "i" ;
.PORTION CONTENTS
.AREA TEXTER LINES 4 TO BOTLINE CHARS 1 TO WCHARS;
.PLACE TEXTER;
.<< FILL NOJUST CRBREAK TURN ON "←→∂\∞" >>
.NOFILL; TURN ON "←→∂\∞";
.TABS 18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75;
←%5T A B L E D E S M A T I E R E S
.SKIP 3
SECTION→PAGE%1
.SKIP;
.RECEIVE
.⊃
.MACRO APP(NAME,ABBREV,PHRASE,LABEL) ⊂
. SSNAME ← IF "ABBREV" neq NULL THEN "ABBREV" ELSE "NAME";
. SSNUMBER ← NULL;
. SECNAME ← "Appendix "&(APPENDIX+1);
.SKIP TO COLUMN 1; IF XCRIBL AND EVEN PAGE THEN NEXT PAGE; LABEL NEXT APPENDIX!;
. BEGIN
. CENTER
%5APPENDIX {!}
. SKIP
.NAM←↑"NAME"
{NAM}%*
. SKIP 3
. CAT("PHRASE","NAME");
.IF XCRIBL THEN SEND CONTENTS ⊂
∂4{APPENDIX!}∂8{NAM}\∞∀∂(WCHARS-2)→{PAGE!}
. ⊃
.ELSE SEND CONTENTS ⊂
∂4{APPENDIX!}∂8{NAM}\∞ ∞.∞ →{PAGE!}
. ⊃;
. END ⊃
.MACRO CENT (NAME,PHRASE) ⊂IF ((LINES ≤ 9) OR SECPAGE) THEN SKIP TO COLUMN 1;;
.CAT("PHRASE","NAME");
.BEGIN CENTER SKIP 3
%5NAME%*
.SKIP; END
.⊃
.MACRO SVERBATIM ⊂VERBATIM; SELECT 3; ⊃
.MACRO YON (LABEL) ⊂"page ";PAGE! LABEL⊃
.MACRO YONAPP (LABEL) ⊂"Appendix ";APPENDIX! LABEL⊃
.MACRO YONSEC (LABEL) ⊂"Section ";SECTION! LABEL⊃
.MACRO YONSS (LABEL) ⊂"Section ";SUBSECTION! LABEL⊃
.<< TITLE PAGE >> BLANK PAGE
.
.PORTION TITLEPAGE
.GROUP SKIP 10
.BeGIN CENTER
NOTES
.SKIP 2
SUR LE
.SKIP 2
VLISP 10.2
.SKIP 2
Mai 1977
.END
.SKIP 10
Resume :
.SKIP
Modifications et ameliorations apportees a l'interprete
VLISP-10. Description de l'assembleur (LAP)
et du compilateur (COMPIL).
.ONCE PREFACE 0
Ces notes ne sont qu'une mise a jour du
.ONCE PREFACE 0
manuel de reference VLISP-10.
.ONCE PREFACE 0
RT 17-76, Departement d'Informatique,
.ONCE PREFACE 0
Universite de Paris 8, Mars 1976.
.SKIP 7
.ONCE FLUSH RIGHT
Jerome CHAILLOUX
.<<Put tiitle page text here>>
.SECNAME ← SSNUMBER ← SSNAME ← NULL
.IF (PUBLISH AND XCRIBL) THEN START
. ODD HEADING(%5{SSNUMBER},,{SSNAME} {PAGE}%*);
. EVEN HEADING(%5{PAGE} {SECNAME},,{SSNUMBER}%*);
.END ELSE EVERY HEADING(%5{SSNUMBER} {SECNAME},,{SSNAME} {PAGE}%*);
.
.INSERT CONTENTS
.COUNT PAGE TO 999;
.PORTION MAINPORTION
.NEXT PAGE